<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="root"></div>

    <script src="../lib/react.js"></script>
    <script src="../lib/react-dom.js"></script>
    <script src="../lib/babel.js"></script>

    <script type="text/babel">
        // let message = "Hello World"
        // function btnClick(){
        //     console.log("btnClick");
        //     message = "Hello react"
        //     rootRender()
        // }
    // const root = ReactDOM.createRoot(document.querySelector("#root"))
    // function rootRender(){
    //     root.render(
    //     <div>
    //         <h2>{message}</h2>
    //         <button onClick={btnClick}> 修改</button>
    //     </div>
    //     )
    // }
    // rootRender()
    // 使用组件进行重构代码
    // 类组件和函数式组件

    class App extends React.Component {
        // 组件数据
        constructor(){
            super()
            this.state={
                message:[{
                    name:"消失的她",
                },{
                    name:"武动乾坤"
                },{
                    name:"斗破苍穹"
                }]
            }
        }
        // 组件方法 (实例方法)

        // 渲染内容  render方法
        render(){
            return (
                <div>
                    <h2>电影列表</h2>
                    <ul>
                        {this.state.message.map((movie,index) => <li key={index}>{movie.name}</li>)}
                    </ul>
                    
                </div>
            )
        }
    }
    // this 绑定的问题
    // const app = new App()
    // const foo = app.btnClick
    // foo()
    // console.log(foo); 
    // 将组件渲染到界面上
    const root = ReactDOM.createRoot(document.querySelector("#root"))
    root.render(<App/>)
    </script>
</body>
</html>